]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
st: Use case-insensitive shortcuts
authorFlorian Müllner <fmuellner@gnome.org>
Thu, 12 May 2016 13:08:21 +0000 (15:08 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Thu, 12 May 2016 16:10:04 +0000 (18:10 +0200)
For shortcuts that involve a letter (like <ctrl>c), we currently only
accept the lower-case variant. This makes shortcuts awkward to use when
caps-lock is active, and is inconsistent with GTK+, so accept upper-case
variants as well.

https://bugzilla.gnome.org/show_bug.cgi?id=766325

src/st/st-entry.c

index 77fabc81251f938f97d9a6ef12a40909fa3166e2..2b31c60192578b2b873bddbed98d6539ad5451e6 100644 (file)
@@ -608,6 +608,8 @@ st_entry_key_press_event (ClutterActor    *actor,
   /* paste */
   if (((event->modifier_state & CLUTTER_CONTROL_MASK)
        && event->keyval == CLUTTER_KEY_v) ||
+      ((event->modifier_state & CLUTTER_CONTROL_MASK)
+       && event->keyval == CLUTTER_KEY_V) ||
       ((event->modifier_state & CLUTTER_SHIFT_MASK)
        && event->keyval == CLUTTER_KEY_Insert))
     {
@@ -625,7 +627,7 @@ st_entry_key_press_event (ClutterActor    *actor,
 
   /* copy */
   if ((event->modifier_state & CLUTTER_CONTROL_MASK)
-      && event->keyval == CLUTTER_KEY_c &&
+      && (event->keyval == CLUTTER_KEY_c || event->keyval == CLUTTER_KEY_C) &&
       clutter_text_get_password_char ((ClutterText*) priv->entry) == 0)
     {
       StClipboard *clipboard;
@@ -646,7 +648,7 @@ st_entry_key_press_event (ClutterActor    *actor,
 
   /* cut */
   if ((event->modifier_state & CLUTTER_CONTROL_MASK)
-      && event->keyval == CLUTTER_KEY_x &&
+      && (event->keyval == CLUTTER_KEY_x || event->keyval == CLUTTER_KEY_X) &&
       clutter_text_get_password_char ((ClutterText*) priv->entry) == 0)
     {
       StClipboard *clipboard;
@@ -671,8 +673,8 @@ st_entry_key_press_event (ClutterActor    *actor,
 
 
   /* delete to beginning of line */
-  if ((event->modifier_state & CLUTTER_CONTROL_MASK)
-      && event->keyval == CLUTTER_KEY_u)
+  if ((event->modifier_state & CLUTTER_CONTROL_MASK) &&
+      (event->keyval == CLUTTER_KEY_u || event->keyval == CLUTTER_KEY_U))
     {
       int pos = clutter_text_get_cursor_position ((ClutterText *)priv->entry);
       clutter_text_delete_text ((ClutterText *)priv->entry, 0, pos);
@@ -682,8 +684,8 @@ st_entry_key_press_event (ClutterActor    *actor,
 
 
   /* delete to end of line */
-  if ((event->modifier_state & CLUTTER_CONTROL_MASK)
-      && event->keyval == CLUTTER_KEY_k)
+  if ((event->modifier_state & CLUTTER_CONTROL_MASK) &&
+      (event->keyval == CLUTTER_KEY_k || event->keyval == CLUTTER_KEY_K))
     {
       ClutterTextBuffer *buffer = clutter_text_get_buffer ((ClutterText *)priv->entry);
       int pos = clutter_text_get_cursor_position ((ClutterText *)priv->entry);